昨天講到建立起WAF後,並無法順利應用,上網搜尋了一下文件,
才知道如果後端集區是 PaaS服務的話,要覆寫location Header
才可以正常使用,詳細的說明在這篇
但要注意這點,所以我們先前選擇的v1 sku就要用其他的辦法
讓就開始動手吧!
將App Service服務建立自訂網址,開啟App Service,點擊自訂網域
新增自訂網域
打入可控管的dns名稱後,按下驗證
這時候需要在dns主機上加入相關的A、TXT紀錄,以驗證網域擁有權
驗證成功就可以點擊新增自訂網域
這時回到應用程式閘道,選擇健康狀態探查
新增健康狀態探查,可以按照下面填寫
接下來就要下powershell code了,
首先點擊右上角的cloud shell按鈕
若是第一次使用,就會請您建立一個儲存庫,選擇儲存庫後就可以開始打指令
中間有幾個參數要換,可以依照先前建立的名稱填寫
application gateway name: Azurewaf
resource group: 20200919
Hostname: ithomelab.fstoptc.com
ProbeConfig: AppServiceProbe
BackendHttpSettings: httprule
$gw=Get-AzApplicationGateway -Name azurewaf -ResourceGroupName 20200919
Set-AzApplicationGatewayProbeConfig -ApplicationGateway $gw -Name AppServiceProbe -Protocol Http -HostName "ithomelab.fstoptc.com" -Path "/" -Interval 30 -Timeout 30 -UnhealthyThreshold 3
$probe=Get-AzApplicationGatewayProbeConfig -Name AppServiceProbe -ApplicationGateway $gw
Set-AzApplicationGatewayBackendHttpSettings -Name httprule -ApplicationGateway $gw -Port 80 -Protocol Http -CookieBasedAffinity Disabled -Probe $probe -RequestTimeout 30
Set-AzApplicationGateway -ApplicationGateway $gw
設定完成後,要把dns的cname,改成應用程式閘道的前端公用IP位址
套用WAF前
套用WAF後,是不是順利阻擋了
但我們要怎麼強制使用者只能瀏覽這個網址而非azurewebsites.net呢?
透過app service的限制存取來源功能就可以達成
開啟app service介面,點擊網路
設定存取限制
新增規則
先建立一個deny all
再允許waf vnet來源
按下確認後儲存規則後即可達成,開啟直接開啟azurewebsites.net網址,
頁面會回傳403禁止存取
以上就是Application Gateway中WAF的建立流程,透由WAF可以強化webapp的保護,
明天要我們會繼續講內網與Azure存取的連線安全
See you next day^^